1. 데이터 이름 변경
행렬, 배열, 데이터프레임과 같은 2차원 이상의 데이터 구조는 colnames와 rownames 함수를 사용하여 행과 열의
이름을 알 수 있고, 이름을 지정할 수 있다.
> m1<-matrix(c(1:6), nrow=2)
> colnames(m1)<-c('c1', 'c2', 'c3')
> rownames(m1)<-c('r1', 'r2')
> m1
c1 c2 c3
r1 1 3 5
r2 2 4 6
>
> df1<-data.frame(x=c(1, 2, 3), y=c(4, 5, 6))
> colnames(df1)<-c('c1', 'c2')
> rownames(df1)<-c('r1', 'r2', 'r3')
> df1
c1 c2
r1 1 4
r2 2 5
r3 3 6
2. 데이터 추출
대괄호 기호([ , ])를 이용해서 원하는 위치의 데이터를 얻을 수 있다.(인덱싱)
행과 열의 이름으로도 데이터를 얻을 수 있다.
> v1<-c(3, 6, 9, 12)
> v1[2]
[1] 6
> m1<-matrix(c(1:6), nrow=3)
> m1[2, 2]
[1] 5
> colnames(m1)<-c('c1', 'c2')
> rownames(m1)<-c('r1', 'r2', 'r3')
> m1['r3', 'c2']
[1] 6
데이터프레임에서 $ 기호를 사용해서 원하는 열의 데이터를 구할 수 있다.
> v1<-c(1:6)
> v2<-c(7:12)
> df1<-data.frame(v1, v2)
> df1$v1
[1] 1 2 3 4 5 6
3. 데이터 결합
rbind(), cbind()
행렬과 행렬, 데이터프레임과 데이터프레임의 경우 행의 수 혹은 열의 수가 같을 경우 결합 가능
> v1<-c(1, 2, 3)
> v2<-c(4, 5, 6)
> rbind(v1, v2)
[,1] [,2] [,3]
v1 1 2 3
v2 4 5 6
> cbind(v1, v2)
v1 v2
[1,] 1 4
[2,] 2 5
[3,] 3 6
벡터와 벡터 결합에서는 부족한 데이터를 앞에서부터 다시 재활용하여 사용하며, 오류와 함께 결과를 반환한다.
> v1<-c(1, 2, 3)
> v2<-c(4, 5, 6, 7, 8)
> rbind(v1, v2)
[,1] [,2] [,3] [,4] [,5]
v1 1 2 3 1 2
v2 4 5 6 7 8
Warning message:
In rbind(v1, v2) :
number of columns of result is not a multiple of vector length (arg 1)